package com.gitee.mrj.aiboot.annotation.config.sf.ui;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 局部
 */
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.TYPE})
@Documented
public @interface SFGrid {
    public enum Grid {
        ThreeColumns(24, 12, 12, 12, 8, 8),
        TwoColumns(24, 12, 12, 12, 12, 12),
        OneColumn(24, 24, 24, 24, 24, 24),
        NULL(0, 0, 0, 0, 0, 0);

        int xs;
        int sm;
        int md;
        int lg;
        int xl;
        int xxl;

        private Grid(int xs,
                     int sm,
                     int md,
                     int lg,
                     int xl,
                     int xxl) {
            this.xs = xs;
            this.sm = sm;
            this.md = md;
            this.lg = lg;
            this.xl = xl;
            this.xxl = xxl;
        }

        public int getXs() {
            return xs;
        }

        public int getSm() {
            return sm;
        }

        public int getMd() {
            return md;
        }

        public int getLg() {
            return lg;
        }

        public int getXl() {
            return xl;
        }

        public int getXxl() {
            return xxl;
        }
    }

    Grid value() default Grid.NULL;

    int xs() default Integer.MIN_VALUE;

    int sm() default Integer.MIN_VALUE;

    int md() default Integer.MIN_VALUE;

    int lg() default Integer.MIN_VALUE;

    int xl() default Integer.MIN_VALUE;

    int xxl() default Integer.MIN_VALUE;


    /**
     * 栅格间隔24px
     *
     * @return
     */
    int gutter() default Integer.MIN_VALUE;


    int offset() default Integer.MIN_VALUE;
}
